iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Software Development

新手村的練功筆記系列 第 22

Day 22 SQL - Aggregate function

  • 分享至 

  • xImage
  •  

今日課程範圍
SQL Lesson 10: Queries with aggregates (Pt. 1)
https://sqlbolt.com/lesson/select_queries_with_aggregates

今天我們來談談aggregate function(聚合函數)
什麼是aggregate functio呢?

例如我們在Excel中常用的取總和(SUM)、取平均(AVG)以及最大/最小值(MAX/MIN)等

那麼這些函數為何會特別抽出來叫做聚合函數呢?

你可以觀察一下平常的使用情境
通常我們使用上方的函數時 通常都是對同一欄的多筆數據求平均或總和

因此這種多筆資料在一起使用的情境便有aggregate(聚合)的味道在裡面

此外 我們在做數據分析時常常會有分組的概念
例如想要找出公司中各個部門的員工人數或是公司中各部門裡年資最高的前輩

這時 我們將學到一個好用的語法叫做 GROUP BY
例如我們想要找出公司中各部門裡年資最高的前輩

我們就可以先把公司員工依照各部門分組
然後在各組中再用MAX() 找出年資最久的前輩

接下來 我們將運用這些聚合函數和 GROUP BY 來幫助我們做資料的處理

常見的聚合函數如下列表格所示

第一題

我們要找出在這間工作室中年資最久的員工
一看到最久 就知道我們可以使用MAX這個聚合函數
所以我們可以使用以下語法便可找出年資最久的員工

SELECT MAX(Years_employed) FROM employees

第二題

我們要找出各個Role的平均年資
因此我們可以使用GROUP BYAVG() 來發出合體技

SELECT Role,AVG(Years_employed) FROM employees
GROUP BY Role

第三題

第三題我們要找出各個建築物中員工的年資總和
所以我們需要用到GROUP BY BuildingSUM(Years_employed)兩個技能

所以我們依然使用合體技

SELECT Building,SUM(Years_employed) FROM employees
GROUP BY Building

藉由聚合函數的幫助 我們可以快速的完成部分的數據處理與統計

最後 我們完成今天的練習啦
我們明天見/images/emoticon/emoticon08.gif


上一篇
Day 21 SQL - 好用的函數
下一篇
Day 23 SQL - GROUP BY & HAVING
系列文
新手村的練功筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言